package beans;

import java.util.List;

import servicios.ServicioUnidad;
import servicios.ServicioUsuario;

import clases.AdministradorDeUnidad;
import clases.Central;
import clases.Delegacion;
import clases.Filial;
import clases.Persona;

public class UnidadBean {

	private Central central = new Central();
	private Delegacion delegacion;
	private List<Delegacion> delegaciones;
	private Filial filial;
	private List<Filial> filiales;
	private Persona persona = new Persona();
	private AdministradorDeUnidad perfil;
	private String tipoUnidad;
	private String telefonos;
	private String email;
	private String informacion;
	private String direccion;
	private String localidad;
	private String provincia;
	private boolean modificaCuota;

	public String getTelefonos() {
		return telefonos;
	}

	public void setTelefonos(String telefonos) {
		this.telefonos = telefonos;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getInformacion() {
		return informacion;
	}

	public void setInformacion(String informacion) {
		this.informacion = informacion;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getLocalidad() {
		return localidad;
	}

	public void setLocalidad(String localidad) {
		this.localidad = localidad;
	}

	public String getProvincia() {
		return provincia;
	}

	public void setProvincia(String provincia) {
		this.provincia = provincia;
	}

	public boolean isModificaCuota() {
		return modificaCuota;
	}

	public void setModificaCuota(boolean modificaCuota) {
		this.modificaCuota = modificaCuota;
	}

	public Central getCentral() {
		return central;
	}

	public void setCentral(Central central) {
		this.central = central;
	}

	public Delegacion getDelegacion() {
		return delegacion;
	}

	public void setDelegacion(Delegacion delegacion) {
		this.delegacion = delegacion;
	}

	public Filial getFilial() {
		return filial;
	}

	public void setFilial(Filial filial) {
		this.filial = filial;
	}

	public String getTipoUnidad() {
		return tipoUnidad;
	}

	public void setTipoUnidad(String tipoUnidad) {
		this.tipoUnidad = tipoUnidad;
	}
	
	public Persona getPersona() {
		return persona;
	}

	public void setPersona(Persona persona) {
		this.persona = persona;
	}

	public AdministradorDeUnidad getPerfil() {
		return perfil;
	}

	public void setPerfil(AdministradorDeUnidad perfil) {
		this.perfil = perfil;
	}

	private Filial crearFilial() {
		filial = new Filial(telefonos, email, informacion, direccion,
				localidad, provincia, modificaCuota);
		return filial;
	}

	private Delegacion crearDelegacion() {
		delegacion = new Delegacion(telefonos, email, informacion, direccion,
				localidad, provincia, modificaCuota);
		return delegacion;
	}

	public List<Delegacion> getlistarDelegaciones() {
		ServicioUnidad servicio = new ServicioUnidad();
		delegaciones = servicio.listarDelegaciones();
		return delegaciones;
	}

	public void setDelegaciones(List<Delegacion> delegaciones) {
		this.delegaciones = delegaciones;
	}

	public List<Filial> getlistarFiliales() {
		ServicioUnidad servicio = new ServicioUnidad();
		filiales = servicio.listarFiliales();
		return filiales;
	}

	public void setFiliales(List<Filial> filiales) {
		this.filiales = filiales;
	}

	public String registrarUnidad() {
		ServicioUnidad servicio = new ServicioUnidad();
		ServicioUsuario servicioUsuario = new ServicioUsuario();
		this.setPerfil(new AdministradorDeUnidad());
		this.getPerfil().setUsuario(persona);
		if (this.getTipoUnidad().equals("F")) {
			servicio.registrarUnidad(crearFilial());
			this.getPerfil().setUnidad(filial);
		} else{
			servicio.registrarUnidad(crearDelegacion());
			this.getPerfil().setUnidad(delegacion);
		}
		servicioUsuario.registrarPersona(persona);
		persona = new Persona();
		return null;
	}

}
